//namd.c
#include <ansi.h>

mapping surname=([
"赵"    :  "zhao",         "钱"    :  "qian",         "孙"    :  "sun",          "李"    :  "li",           
"周"    :  "zhou",         "吴"    :  "wu",           "郑"    :  "zhen",         "王"    :  "wang",         
"冯"    :  "feng",         "陈"    :  "chen",         "褚"    :  "zhu",          "卫"    :  "wei",          
"蒋"    :  "jiang",        "沈"    :  "shen",         "韩"    :  "han",          "杨"    :  "yang",         
"朱"    :  "zhu",          "秦"    :  "qin",          "尤"    :  "you",          "许"    :  "xu",           
"何"    :  "he",           "吕"    :  "lu",           "施"    :  "shi",          "张"    :  "zhang",        
"孔"    :  "kong",         "曹"    :  "cao",          "严"    :  "yan",          "华"    :  "hua",          
"金"    :  "jin",          "魏"    :  "wei",          "陶"    :  "tao",          "姜"    :  "jiang",        
"戚"    :  "qie",          "谢"    :  "xie",          "邹"    :  "zhou",         "喻"    :  "yu",           
"柏"    :  "bo",           "水"    :  "shui",         "窦"    :  "dou",          "章"    :  "zhang",        
"云"    :  "yun",          "苏"    :  "su",           "潘"    :  "pan",          "葛"    :  "ge",           
"奚"    :  "xi",           "范"    :  "fan",          "彭"    :  "peng",         "郎"    :  "lang",         
"鲁"    :  "lu",           "韦"    :  "wei",          "昌"    :  "chang",        "马"    :  "ma",           
"苗"    :  "miao",         "凤"    :  "feng",         "花"    :  "hua",          "方"    :  "fang",         
"傻"    :  "sha",          "任"    :  "ren",          "袁"    :  "yuan",         "柳"    :  "liu",          
"邓"    :  "deng",         "鲍"    :  "bao",          "史"    :  "shi",          "唐"    :  "tang",         
"费"    :  "fei",          "廉"    :  "lian",         "岑"    :  "chen",         "薛"    :  "xue",          
"雷"    :  "lei",          "贺"    :  "he",           "倪"    :  "ni",           "汤"    :  "tang",         
"藤"    :  "teng",         "殷"    :  "yin",          "罗"    :  "luo",          "华"    :  "hua",          
"郝"    :  "hao",          "邬"    :  "wu",           "安"    :  "an",           "常"    :  "chang",        
"乐"    :  "le",           "呆"    :  "dai",          "时"    :  "shi",          "付"    :  "fu",           
"皮"    :  "pi",           "卞"    :  "bian",         "齐"    :  "qi",           "康"    :  "kang",         
"伍"    :  "wu",           "余"    :  "yu",           "元"    :  "yuan",         "卜"    :  "po",           
"顾"    :  "gu",           "盈"    :  "ying",         "平"    :  "ping",         "黄"    :  "huang",        
"和"    :  "he",           "穆"    :  "mu",           "肖"    :  "xiao",         "尹"    :  "yin",          
"姚"    :  "yao",          "邵"    :  "shao",         "湛"    :  "zhan",         "汪"    :  "wang",         
"祁"    :  "qi",           "毛"    :  "mao",          "禹"    :  "yu",           "狄"    :  "di",           
"米"    :  "mi",           "贝"    :  "bei",          "明"    :  "ming",         "藏"    :  "zang",         
"计"    :  "ji",           "伏"    :  "fu",           "成"    :  "cheng",        "戴"    :  "dai",          
"谈"    :  "tan",          "宋"    :  "song",         "茅"    :  "mao",          "庞"    :  "pang",         
"熊"    :  "xiong",        "纪"    :  "ji",           "舒"    :  "su",           "屈"    :  "qu",           
"项"    :  "xiang",        "祝"    :  "zhu",          "董"    :  "dong",         "梁"    :  "liang",        
"樊"    :  "fan",          "胡"    :  "hu",           "凌"    :  "ling",         "霍"    :  "ho",           
"虞"    :  "yu",           "万"    :  "wan",          "支"    :  "zhi",          "柯"    :  "ke",           
"昝"    :  "jiu",          "管"    :  "guan",         "卢"    :  "lu",           "英"    :  "ying",         
"仇"    :  "qiu",          "候"    :  "hou",          "岳"    :  "yue",          "帅"    :  "suai",         
"司马"  :  "sima",         "上官"  :  "shangguan",    "欧阳"  :  "ouyang",       "夏候"  :  "xiahou",       
"诸葛"  :  "zhuge",        "闻人"  :  "wenren",       "东方"  :  "dongfang",     "赫连"  :  "helian",       
"皇甫"  :  "huangpu",      "尉迟"  :  "yuchi",       "公羊"  :  "gongyang",     "澹台"  :  "zhantai",      
"公治"  :  "gongye",       "宗政"  :  "zongzheng",   "濮阳"  :  "puyang",       "淳于"  :  "chunyu",       
"单于"  :  "shanyu",       "叱乾"  :  "chigan",      "申屠"  :  "shentu",       "公孙"  :  "gongsun",     
"仲孙"  :  "zhongsun",     "辕轩"  :  "xuanyuan",    "令狐"  :  "linghu",       "钟离"  :  "zhongli",      
"宇文"  :  "yuwen",        "长孙"  :  "zhangsun",    "幕容"  :  "murong",       "司徒"  :  "situ",         
"师空"  :  "shikong",      "颛孔"  :  "zhuankong",   "端木"  :  "duanmu",       "巫马"  :  "wuma",         
"公西"  :  "gongxi",       "漆雕"  :  "qidiao",      "乐正"  :  "lezheng",      "壤驷"  :  "xiangsi",      
"公良"  :  "gongliang",    "拓趾"  :  "tuozhi",      "夹谷"  :  "jiagu",        "宰父"  :  "zaifu",        
"谷梁"  :  "guliang",      "楚晋"  :  "chujing",     "独孤"  :  "dugu",        "汝鄢"  :  "ruye",         
"涂钦"  :  "tuqin",        "段千"  :  "duanqian",    "百里"  :  "baili",        "东郭"  :  "dongguo",      
"南郭"  :  "nanguo",       "呼延"  :  "huyan",       "归海"  :  "guihai",       "羊舌"  :  "yangshe",      
"微生"  :  "weisheng",     "梁丘"  :  "liangqiu",    "左丘"  :  "zuoqiu",       "东门"  :  "dongmen",      
"西门"  :  "ximen",        "佰赏"  :  "baishang",    "南官"  :  "nangong",      "缑"    :  "gou",          
"亢"    :  "kang",         "况"    :  "kuang",       "后"    :  "hou",          "有"    :  "you",          
"琴"    :  "qing",         "商"    :  "shang",       "牟"    :  "mo",           "佘"    :  "she",          
"耳"    :  "er",           "墨"    :  "mo",          "哈"    :  "ha",           "谯"    :  "qiao",         
"年"    :  "nian",         "爱"    :  "ai",          "阳"    :  "yang",         "佟"    :  "dong",         
"第"    :  "di",           "五"    :  "wu",          "言"    :  "yan",          "福"    :  "fu",           
"蒯"    :  "kai",          "钟"    :  "zong",        "宗"    :  "zong",         "林"    :  "lin",  
"石"    :  "shi",	   "程"    :  "cheng",	     "道"    :  "dao",          "常"    :  "chang",
"清"    :  "qing",  	   "守"	   :  "shou",	     "宁"    :  "ning",	        "霸"	:  "ba",
"厄"	:  "e",            "虎"	   :  "hu",          "屠"    :  "tu",           "恨"    :  "hen",
"文"	:  "wen",	   "空"    :  "kong",        "净"    :  "jing",         "慧"    :  "hui",
"虚"    :  "xu", 	   "法"    :  "fa",          "艾"    :  "ai",		"白" 	:  "bai",
"班"	:  "ban",	   "敖"	   :  "ao",	     "刘"    :  "liu",          "关"    :  "guan",
"段"	:  "duan",	   "招"	   :  "zhao",	     "南"    :  "nan",
]);

mapping jp_surname=([
"山本"  :  "shanben",      "龟田"  :  "guitian",	"姿三"  :  "zisan",        "大岛"  :  "dadao",        
"松下"  :  "songxia",      "横田"  :  "hengtian",	"东芝"  :  "dongzhi",      "候本"  :  "houben",       
"川野"  :  "chuangye",     "山口"  :  "shankou",	"铃木"  :  "lingmu",       "岗仓"  :  "gangcang",     
"小岛"  :  "xiaodao",      "井上"  :  "jinshang",	"安奈"  :  "annai",        "浅田"  :  "qiantian",     
"佐藤"  :  "zuoteng",      "广末"  :  "guangmu",	"大竹"  :  "dazhu",        "大村"  :  "dachun",       
"伯佐"  :  "bozuo",        "富冈"  :  "fugang",		"东乡"  :  "dongxiang",
]);

mapping middle_name=([
"忠" : "zhong",		"孝" : "xiao",		"礼" : "li",		"义" : "yi",
"智" : "zhi",		"不" : "bu",		"仁" : "ren",		"匡" : "kuang",
"宪" : "xian",		"令" : "ling",		"福" : "fu",		"奈" : "nai",
"大" : "da",		"小" : "xiao",		"晓" : "xiao",		"高" : "gao",
"可" : "ke",		"阿" : "a",		"金" : "jin",		"世" : "shi",
"克" : "ke",		"叔" : "shu",		"之" : "zhi",		"非" : "fei",
"夫" : "fu",		"时" : "shi",		"若" : "ruo",		"庆" : "qing",
"文" : "wen",		"武" : "wu",		"多" : "duo",		"才" : "cai",
"长" : "zhang",		"子" : "zi",		"永" : "yong",		"友" : "you",
"九" : "jiu",		"人" : "ren",		"为" : "weo",		"一" : "yi",
]);

mapping male_name=([
"霸" : "ba",		"白" : "bai",		"班" : "ban",		"斌" : "bin",
"宾" : "bin",		"昌" : "chang",		"超" : "chao",		"诚" : "cheng",
"川" : "chuan",		"鼎" : "ding",		"定" : "ding",		"法" : "fa",
"飞" : "fei",		"风" : "feng",		"锋" : "feng",		"钢" : "gan",
"罡" : "gan",		"贯" : "gui",		"光" : "guang",		"海" : "hai",
"虎" : "hu",		"华" : "hua",		"浩" : "hao",		"宏" : "hong",
"济" : "ji",		"坚" : "jian",		"健" : "jian",		"剑" : "jian",
"江" : "jiang",		"进" : "jin",		"杰" : "jie",		"俊" : "jun",
"康" : "kan",		"良" : "liang",		"麟" : "qi",		"民" : "min",
"明" : "ming",		"鸣" : "ming",		"宁" : "ning",		"培" : "pei",
"启" : "qi",		"强" : "qiang",		"荣" : "rong",		"山" : "shan",
"泰" : "tai",		"涛" : "tao",		"挺" : "ting",		"伟" : "wei",
"熙" : "xi",		"祥" : "xiang",		"雄" : "xiong",		"旭" : "xu",
"斗" : "dou",		"毅" : "yi",		"瑜" : "yu",		"羽" : "yu",
"宇" : "yu",		"岳" : "yue",		"舟" : "zhou",		
]);
			
mapping female_name=([
"爱" : "ai",		"春" : "chun",		"丹" : "dan",		"芳" : "fang",
"芬" : "fen",		"凤" : "feng",		"姑" : "gu",		"红" : "hong",
"虹" : "hong",		"娇" : "jiao",		"娟" : "juan",		"菊" : "ju",
"兰" : "lan",		"岚" : "lan",		"丽" : "li",		"莉" : "li",
"莲" : "lian",		"玲" : "ling",		"琳" : "lin",		"娜" : "na",
"琴" : "qin",		"芹" : "qin",		"倩" : "qian",		"萍" : "ping",
"婷" : "ding",		"霞" : "xia",		"香" : "xiang",		"儿" : "er",
"燕" : "yan",		"英" : "ying",		"瑛" : "ying",		"玉" : "yu",
"珍" : "zhen",		"珠" : "zhu",
]);
	
mapping jp_name=([
"太郎"   : "tailang",		"次郎"   : "cilang",		"三郎"   : "sanlang",		"四郎"   : "silang",
"五郎"   : "wulang",		"十一郎" : "shiyilang",		"十四郎" : "shisilang",		"二十六" : "ershiliu",
"俊树"   : "junshu",		"宁次"   : "ningci",		"英机"   : "yingji",		"冶字"   : "zhizi",
"俊雄"   : "junxiong",		"牧夫"   : "mufu",		"光夫"   : "guangfu",		"敬一"   : "jingyi",
"英世"   : "yingshi",		"漱石"   : "shushi",		"渝吉"   : "yuji",		"一叶"   : "yiye",
"子规"   : "zigui",		"稻造"   : "daozhao",		"伊冲"   : "yichong",		"松园"   : "songyuan",
"深水"   : "shenshui",		"大观"   : "daguan",		"丰国"   : "fengguo",		"孝和"   : "xiaohe",
"茂"     : "mao",		"川"     : "chuan",		"卫"     : "wei",		"岛寿"   : "daoshou",
"光云"   : "guangyun",		"安治"   : "anzhi",		"山乐"   : "shanle",		"梦二"   : "menger",
]);

mapping color_list = ([
"赤":	"chi",		"红":	"hong",		"黄":	"huang",	"绿":	"lu",
"青":	"qing",		"蓝":	"lan",		"紫":	"zi",		"乌":	"wu",
"黑":	"hei",		"银":	"yin",		"白":	"bai",		"金":	"jin",
"灰":	"hui",		"木":	"mu",		"水":	"shui",		"火":	"huo",
"土":	"tu",		"胃":	"wei",		"鬼":	"gui",		"月":	"yue",
"朱":	"zhu",		"日":	"ri",		"斗":	"dou",		"觜":	"zui",
"奎":	"kui",		"参":	"shen"		
]);

mapping animal_list =([
"兔":	"tu",		"狐":	"hu",		"龙":	"long",		"蛟":	"jiao",
"虎":	"hu",		"豹":	"bao",		"马":	"ma",		"鹿":	"lu",
"羊":	"yang",		"蛇":	"she",		"獐":	"zhang",	"鸡":	"ji",
"狗":	"gou",		"狼":	"lang",		"猿":	"yuan",		"猴":	"hou",
"鼠":	"shu",		"牛":	"niu",		"猪":	"zhu",		"蝠":	"fu",
"豺":	"chai",		"獭":	"lai",		"狒":	"fei",		"蟒":	"mang",
"熊":	"xiong",	"象":	"xiang",	"貂":	"diao",		"狸":	"li",
"獾":	"huan",		"罴":	"pi",		"燕":	"yan",		"蚓":	"yin",
"雉":	"zhi",		"狍":	"pao",		"猊":	"ni",		"獒":	"ao",
"羚":	"ling",		"麂":	"ji",		"猩":	"xing",
]);

mapping animal_names = ([
"狐狸":"huli",		"黑熊":"heixiong",	"狗熊":"gouxiong",	"白熊":"baixiong",
"蝎子":"xiezi",		"蟾蜍":"chanchu",	"蜈蚣":"wugong",	"土鳖":"tubie",
"飞蝗":"feihuang",	"蝗虫":"huangchong",	"大青虫":"daqingchong",	"臭虫":"chouchong",
"跳蚤":"tiaozao",	"虱子":"shizi",		"老虎":"laohu",		"狮子":"shizi",
"黄狮":"huangshi",	"黑狮":"heishi",	"白狮":"baishi",	"野兔":"yetu",
"花豹":"huabao",	"山豹":"shanbao",	"草豹":"caobao",	"山羊":"shanyang",
"马猴":"mahou",		"猕猴":"mihou",		"猿猴":"yuanhou",	"灰狼":"huilang",
"野猪":"yezhu",		"蜘蛛":"zhizhu",	"马鹿":"malu",		"白鹿":"bailu",
"灰鹿":"huilu",		"黑鹿":"heilu",		"山鸡":"shanji",	"野鸡":"yeji",
"雉鸡":"zhiji",		"刺猬":"ciwei",		"花狐狸":"huahuli",	"白狐狸":"baihuli",
"灰狐狸":"huihuli",	"猩猩":"xingxing",	"狒狒":"feifei",	"白马":"baima",
"红马":"hongma",	"黑马":"heima",		"白猫":"baimao",	"花猫":"huamao",
"黑猫":"heimao",	"野猫":"yemao",		"野马":"yema",		"野驴":"yelu",
"白兔":"baitu",		"灰兔":"huitu",		"水牛":"shuiniu",	"牦牛":"maoniu",
"野牛":"yeniu",		"白鼠":"baishu",	"灰鼠":"huishu",	"黑蚂蚁":"heimayi",
"蚂蚁":"mayi",		"白蚁":"baiyi",		"山老鼠":"shanlaoshu",	"花蛇":"huashe",
"青蛇":"qingshe",	"白蛇":"baishe",	"灰斑蛇":"huibanshe",	"巨蟒":"jumang",
"水蛇":"shuishe",	"海狸":"haili",		"河狸":"heli",
]);

mapping middle_list =([
"脚"	:	"jiao",		"头"	:	"tou",		"尾"	:	"wei",		"嘴"	:	"zui",
"耳"	:	"er",		"眼"	:	"yan",		"鼻"	:	"bi",		"牙"	:	"ya",
"舌"	:	"she",		"身"	:	"shen",		"爪"	:	"zhua",
]);
string *title_list = ({ 
	"月宫弃徒",	"将军府叛将", 	"大雪山孽妖",	"无底洞孽妖",
	"方寸山弃徒",	"五庄观孽徒", 	"地府冤鬼",	"龙宫弃徒",
	"天宫叛将",	"方寸妖道",	"无底洞小妖",	"五庄观恶徒", "普陀恶僧",
});	

mapping gui_list = ([
	"鑊汤"	: ({"huotang","由受他雇杀生。受鑊汤煎煮。或受他寄抵拒不还。故受斯报。"}),
	"针口臭": ({"zhenkou xiu","以财雇人令行杀戮故。咽如针。锋滴水不容也。"}),
	"食吐"	: ({"shitu","夫劝妇施妇惜言无。积财悭悋。故常食吐也。"}),
	"食粪"	: ({"shifen","由妇人诳夫自噉饮食恶嫌夫故。常食吐粪也。"}),
	"食火"	: ({"shihuo","由禁人粮食令其自死。故受火烧?叫饥渴苦也。"}),
	"食气"	: ({"shiqi","多食美食。不施妻儿常困饥渴。唯得嗅气也。"}),
	"食法"	: ({"shifa","为求财利。为人说法。身常饥渴身肉消尽。蒙僧说法命得存立也。"}),
	"食水"	: ({"shishui","由酤酒如水以惑愚人。不持斋戒。常患燋渴也。"}),
	"希望"	: ({"xiwang","由买卖诤价。欺诳取物。常患饥渴。先灵祭祀而得食之也。"}),
	"食唾"	: ({"shituo","以不净食诳出家人。身常饥渴恒被煑烧。以求人唾兼食不净。"}),
	"食鬘"	: ({"shi man","以前世时。盗佛华鬘用自庄严。若人遭事以鬘赏祭。因得鬘食也。"}),
	"食血"	: ({"shixue","由杀生血食不施妻子。受此鬼身。以血涂祭方得食之。"}),
	"食肉"	: ({"shiruo","由以众生身肉。臠臠秤之。卖买欺诳。因受此报多诈丑恶人恶见之。祭祀杂肉方得食之。"}),
	"食香"	: ({"shixiang","由卖恶香多取酬直。唯食香烟。後受穷报。"}),
	"疾行"	: ({"jixing","若有破戒而披法服。诳惑取财。言供病人。竟不施与。便自食之。由受此报。常食不净。自烧其身。"}),
	"伺便"	: ({"sibian","由谋诳取财不修福业。因受此报。身毛火出。食人气力不净以自存活。"}),
	"黑闇"	: ({"heian","由枉法求财系人牢中。目无所见声常哀酸。故受闇处恶蛇遍满。犹刀割苦。"}),
	"大力"	: ({"dali","由偷盗人物。施诸恶反不施福田。因受此报。大力神通多被苦恼也。"}),
	"炽然"	: ({"zhiran","由破城抄掠杀害百姓。因受此报。哭叫唤遍身火燃。後得为人常被劫夺。"}),
	"伺孾儿便" : ({"shiyingerbian","由杀孾儿心生大怒。因受此报。常伺人便。能害孾儿也。"}),
	"欲色"	: ({"yuse","由好婬得财不施福田。因受此报。游行人间与人交会。妄为妖怪以求活命。"}),
	"海渚"	: ({"haizhu","由行旷野见病苦人。欺人诳取财物。生海渚中。受寒热苦。十倍过人。"}),
	"执杖"	: ({"zhizhang","由前世时。亲近国王大臣专行暴恶。因受此报。为王给使。作执杖鬼。"}),
	"食小儿": ({"shixiaoer","由说呪术诳惑取人财物。杀害猪羊。死堕地狱。後受此报。常食小儿。"}),
	"食人精气": ({"shirenjingqi","由诈为亲友。我为汝护。令他勇力没阵而死。竟不救护。故受斯报。"}),
	"罗刹"	: ({"luosha","由杀生命以为大会。故受此饥火所烧报。"}),
	"火烧食": ({"huoshaoshi","由悭嫉覆心。喜噉僧食。先堕地狱。从地狱出。受火炉烧身鬼也。"}),
	"不净巷陌": ({"bujing xiangmo","由此不净食。与梵行之人。因堕此报。常食不净也。"}),
	"食风"	: ({"shifeng","由见出家人来乞。许而不施其食。因受此报。常患饥渴。如地狱苦。"}),
	"食炭"	: ({"shitan","由典主刑狱。禁其饮食。因受此报。常食火炭也。"}),
	"食毒"	: ({"shidu","由以毒食令人丧命。因堕地狱。後出为鬼。常饥饿恒食毒火。烧其身也。"}),
	"旷野"	: ({"kuangye","由旷野湖池造已施人。恶口决破令行人渴乏。故受斯报。常患饥渴。火烧其身也。"}),
	"冢间食灰土" : ({"shihuitu","由盗佛华卖已活命。故受此报。常食死人。处烧屍热灰也。"}),
	"树下住" : ({"shuxia","由见人种树为施人作荫。恶心斫伐。取财而用。故堕树中。常被寒热也。"}),
	"交道"	: ({"jiaodao","由盗行路人粮。以恶业故。常被铁锯截身因交道祭祀。取食自活也。"}),
	"魔罗身": ({"moluoshen","由行邪道不信正真。因堕魔鬼。当破人善法也。"}),
	"食发"	: ({"shifa","喜食婴儿胎发与此婴儿结鬼缘。因此，每於男女婴儿第一次之胎发，不可乘方便随意乱丢，应当妥为处理。成人之头发，尤其是未婚女子的的秀发，此鬼最喜。理头发，当於室内，并以火焚化，免为鬼食，结上不善鬼缘。"}),
	"无食"	: ({"wushi","经常寻找不着自己所吸食之物，常会感到饥苦难受。"}),
	"希恶"	: ({"xi e","专门希望世人为恶，此种鬼的精神就会感到满足。"}),
	"火炉烧食" : ({"huolu shaoshi","伺於火炉食物，吸其食物气味。"}),
	"护身饿": ({"hushen e","其身体貌俱黑如锅底。喜亲近衰败人家，常崇懒惰妇女，不为灶事，以便栖身於冷灶之内。"}),
	"神通"	: ({"shentong","此为鬼中之精灵，专门假借人之灵气，说神话，做鬼事，诱惑世人入迷 崇邪，渐离人道，而行鬼道。"}),
	"旷野"	: ({"kuangye","此鬼居於无人旷野之地，平原及山坡，森林山谷均有之。"}),
]);	

mapping f_name = ([
        "ai":({ "爱", "艾", "嫒", "蔼", "瑷" }),
        "ban":({ "班", "瓣" }),
        "bai":({ "白", "柏" }),
        "bei":({ "贝", "蓓" }),
        "bi":({ "碧", "筚", "婢", "荜", "弼", "蓖" }),
        "bin":({ "滨", "缤" }),
        "bing":({ "冰", "屏" }),
        "bo":({ "波", "帛" }),
        "cai":({ "彩", "采" }),
        "chai":({ "钗" }),
        "chan":({ "蝉", "婵", "潺" }),
        "chang":({ "畅", "裳", "嫦" }),
        "che":({ "澈" }),
        "chen":({ "晨", "辰" }),
        "cheng":({ "澄" }),
        "chong":({ "冲", "宠" }),
        "chu":({ "初", "楚" }),
        "chun":({ "春", "纯", "唇", "椿", "莼" }),
        "cui":({ "翠", "萃", "璀" }),
        "da":({ "妲" }),
        "dai":({ "骀", "岱", "黛" }),
        "dan":({ "丹", "旦", "萏", "单", "郸", "萏", "淡", }),
        "dang":({ "铛" }),
        "di":({ "蒂", "滴", "笛", "翟", "荻", "迪", "缔", "娣" }),
        "ding":({ "叮", "玎" }),
        "dong":({ "冬", "栋", "东", "峒" }),
        "e":({ "额", "萼", "娥", "婀" }),
        "er":({ "儿" }),
        "fang":({ "芳", "纺", "舫", "彷", }),
        "fei":({ "非", "飞", "菲", "斐", "妃", "翡", "霏", "绯" }),
        "fen" :({ "芬", "纷", "汾", "玢", }),
        "feng":({ "凤" }),
        "fu" :({ "芙", "芾", "涪", "莩", "馥", "茯", "桴", "绋", }),
        "gan" :({ "甘", "柑" }),
        "gou" :({ "苟", "笱" }),
        "gu" :({ "姑", "谷", "菇", "沽" }),
        "guan":({ "官", "纶", "莞", "矜", "涫", "倌" }),        
        "gui" :({ "桂", "归", "瑰", "闺" }),
        "han" :({ "寒", "涵", "菡", "邯", "晗" }),
        "hang":({ "行", "杭", "珩", "绗" }),
        "he" :({ "荷", "纥", "菏", "合", "河", "禾", "鹤", }),
        "heng":({ "恒", "珩", "蘅" }),
        "hong":({ "红", "虹", "泓" }),
        "hu" :({ "狐", "瑚", "琥" }),
        "hua" :({ "花", "桦", "华", "花", "画" }),
        "hui" :({ "慧", "惠", "蕙", "悔", "卉", "彗", "茴" }),
        "ji" :({ "纪", "姬", "岌", "吉", "季", "荠", "髻", "笈", "笄", "玑", "霁", "箕" }),
        "jia" :({ "嘉", "家", "颊", "葭", "佳", "迦", "珈" }),
        "jiang":({ "绛" }),
        "jiao":({ "娇", "佼", "姣", "萩", "骄", "椒", "湫" }),
        "jie" :({ "捷", "姐", "洁", "秸", "桔", "颉", "婕" }),
        "jin" :({ "金", "巾", "晋", "瑾", "矜", "缙", "妗" }),
        "jing":({ "静", "晶", "睛", "靖", "靓", "婧", "菁", "仱", "景", "净", "婧" }),
        "jiu" :({ "久", "九", "玖" }),
        "ju" :({ "菊", "橘", "桔", "瞿", "莒" }),
        "juan":({ "娟", "绢", "鹃", "涓" }),
        "jue" :({ "绝", "矍", "珏" }),
        "jun" :({ "郡", "君", "筠", "浚" }),
        "ke" :({ "可", "柯", "珂" }),
        "lan" :({ "兰", "蓝", "岚", "澜" }),
        "lei" :({ "泪", "蕾" }),
        "leng":({ "冷" }),
        "li" :({ "丽", "莉", "梨", "俪", "鹂", "逦", "郦", "俐", "荔", "骊" }),
        "lian":({ "莲", "恋", "涟", "怜", "帘" }),      
        "liang":({ "靓", }),
        "lin" :({ "琳", "淋", "蔺" }),
        "ling":({ "灵", "令", "伶", "玲", "菱", "绫", "泠", "苓", "呤", "岺", "铃", "囹" }),
        "long":({ "珑" }),
        "lu" :({ "露", "陆" }),
        "lv" :({ "绿", "缕" }),
        "man" :({ "蛮", "曼", "幔", "缦" }),
        "mei" :({ "梅", "眉", "美", "枚", "玫", "媚", "妹" }),
        "min" :({ "敏", "玟", "珉" }),
        "ming":({ "茗" }),
        "mu" :({ "慕", "睦" }),
        "na" :({ "娜", "纳" }),
        "nan" :({ "楠", "男", "囡", "萳" }),
        "ni" :({ "倪", "妮", "霓", "昵" }),
        "ning":({ "凝","宁"}),
        "pei" :({ "佩", "蓓", "珮", "姵" }),
        "ping":({ "萍", "屏", "苹" }),
        "qian":({ "纤", "倩", "芊", "忴" }),
        "qiang":({ "蔷" }),
        "qiao":({ "愀", "巧", "侨", "俏" }),
        "qie" :({ "怯", "妾" }),
        "qin" :({ "秦", "琴", "芹", "沁", "芩", "笉", "矝", "耹" }),
        "qing":({ "晴", "青", "清", "卿", "磬", "箐" }),
        "qiong":({ "琼", "穹" }),
        "qiu" :({ "秋", "逑", "篍" }),
        "que" :({ "雀", "鹊" }),
        "rao" :({ "娆", "荛" }),
        "rong":({ "容", "蓉", "绒" }),
        "rou" :({ "柔", }),
        "ru" :({ "如", "汝", "茹" }),
        "rui" :({ "芮", "蕊" }),
        "ruo" :({ "若", "弱" }),
        "se" :({ "瑟", "涩" }),
        "sha" :({ "纱", "霎", "莎" }),
        "shan":({ "珊", "杉", "姗", "善" }),
        "shang":({ "商", "裳" }),
        "sheng":({ "笙" }),
        "shou" :({ "瘦", "守", "鏉" }),
        "shi" :({ "师", "诗", "饰", "侍" }),
        "shu" :({ "书", "梳", "舒" }),
        "si" :({ "思", "丝", "斯", "泗" }),
        "su" :({ "苏", "素", "肃" }),
        "tao" :({ "桃", "滔" }),
        "ti" :({ "绨", "缇", "醍" }),
        "ting":({ "亭", "婷" }),
        "wan" :({ "宛", "婉", "莞", "绾", "蔓", "琬", "晚" }),
        "wei" :({ "薇", "维", "尉" }),
        "wen" :({ "雯", "文", "纹", "汶", "玟", "紊" }),
        "wu" :({ "舞", "巫", "芜", "妩" }),
        "xi" :({ "熙", "茜", "惜", "禧" }),
        "xia" :({ "夏", "霞", "珨" }),
        "xian":({ "贤", "娴" }),
        "xiang":({ "香", "湘" }),
        "xiao":({ "晓", "潇", "霄", "绡", "筱" }),      
        "xin" :({ "欣", "芯", "心", "昕", "忻", "馨", "鑫" }),
        "xing":({ "星", "杏" }),
        "xiu" :({ "秀", "绣", "琇" }),
        "xu" :({ "绪", "絮" }),
        "xue" :({ "雪" }),
        "xun" :({ "寻", "荀", "薰" }),
        "xuan":({ "轩", "萱", "绚", "璇" }),
        "ya" :({ "雅", "丫", "娅" }),
        "yan" :({ "雁", "烟", "艳", "颜", "燕", "焉", "嫣", "胭", "嬿", "妍" }),
        "yang":({ "阳", "央", "鸯" }),
        "ye" :({ "叶" }),
        "yi" :({ "仪", "衣", "艺", "易", "宜", "颐", "怡" }),
        "yin" :({ "阴", "音", "殷", "吟", "姻", "茵" }),
        "ying":({ "英", "盈", "颖", "樱", "瑛", "萦", "莹", "莺", "璎", "滢", "缨", "楹", "潆", "绬" }),
        "yu" :({ "玉", "雨", "豫", "愈" }),
        "yue" :({ "月", "悦", "玥" }),
        "yun" :({ "云", "韵", "蕴", "芸", "纭", "筠" }),
        "zhan":({ "绽", "展" }),
        "zhao":({ "照", "昭" }),
        "zhen":({ "珍", "贞", "祯" }),
        "zheng":({ "筝" }),
        "zhi" :({ "织", "脂", "芷", "芝", "稚" }),
        "zhou":({ "舟", "荮", "绉" }),
        "zhu" :({ "竹", "祝", "珠", "硃" }),
        "zhuang":({ "庄", "妆" }),
        "zi" :({ "子", "紫", "姿", "姊", "恣" }),
]);

mapping m_name = ([
"an" :({ "安", "案", "暗", "岸", "鞍" }),
"ang" :({ "昂", "盎" }),
"ai" :({ "艾", "霭", "皑" }),
"ao" :({ "傲", "敖", "翱", "鳌", "遨", "螯", "奥", "嚣", "獒" }),
"ba" :({ "霸", "巴", "坝", "灞", "魃", "八", "岜" }),
"bai" :({ "白", "百", "柏", "伯", "败" }),
"ban" :({ "般", "班", "斑", "坂" }),
"bang" :({ "榜", "邦" }),
"bao" :({ "宝", "暴", "报", "豹", "雹", "褒", "保", "包", "苞" }),
"bei" :({ "北", "贝", "悲", "备" }),
"ben" :({ "奔", "本", "贲" }),
"beng" :({ "崩", "绷" }),
"bi" :({ "弼", "荜", "比", "必", "毕", "壁", "碧", "蔽", "庇" }),
"bian" :({ "边", "变", "鞭", "扁", "卞", "弁" }),
"biao" :({ "标", "彪", "飙", "飚", "表", "杓" }),
"bin" :({ "斌", "宾", "滨", "彬", "鬓", "缤" }),
"bing" :({ "兵", "槟", "冰", "炳", "秉" }),
"bo" :({ "帛", "伯", "博", "柏", "薄", "泊", "铂", "搏", "魄" }),
"bu" :({ "部", "步", "布" }),
"cai" :({ "才", "财", "采", "材", "彩", }),
"can" :({ "参", "蚕", "灿", "璨", "粲" }),
"cang" :({ "藏", "苍", "仓", "沧" }),
"cao" :({ "草", "操" }),
"ce" :({ "策", "册" }),
"cha" :({ "差", "查", "察", "叉", "诧", "岔" }),
"chai" :({ "柴", "差", "豺" }),
"chan" :({ "产", "缠", "阐", "蝉", "蟾", "忏", "孱" }),
"chang":({ "长", "常", "昌", "畅", "怅", "猖", "敞" }),
"chao" :({ "超", "朝", "潮", "巢", "绰", "晁" }),
"chen" :({ "沉", "臣", "尘", "辰", "趁", "晨", "谌", "宸" }),
"cheng":({ "乘", "成", "承", "诚", "呈", "澄", "惩", "丞" }),
"chi" :({ "池", "尺", "持", "驰", "墀", "耻", "翅", "炽", "叱", "弛", "蚩", "魑" }),
"chong":({ "冲", "充", "宠", "崇", "忡", "虫" }),
"chou" :({ "抽", "愁", "丑", "仇", "绸", "酬", "稠", "筹" }),
"chu" :({ "楚", "初", "处", "储", "杵", "褚" }),
"chuan":({ "船", "川", "钏" }),
"chuang":({ "窗", "闯" }),
"chui" :({ "吹", "垂", "锤" }),
"chuo" :({ "戳", "绰", "辍" }),
"chun" :({ "椿", "春", "纯", "醇", "淳" }),
"ci" :({ "刺", "词", "慈", "茨", "兹" }),
"cong" :({ "从", "聪", "匆", "琮" }),
"cu" :({ "促", "粗", "簇", "卒" }),
"cuan" :({ "窜", "篡" }),
"cui" :({ "崔", "脆", "摧", "萃", "璀" }),
"cuo" :({ "错", "挫", "措", "蹉" }),
"cun" :({ "存", "村", "寸", "忖" }),
"da" :({ "大", "达", "鞑", "靼" }),
"dai" :({ "代", "呆", "歹", "岱", "殆", "骀" }),
"dan" :({ "淡", "郸", "单", "丹", "旦", "胆", "诞", "惮", "澹" }),
"dang" :({ "铛", "当", "荡" }),
"dao" :({ "道", "刀", "盗" }),
"de" :({ "德" }),
"deng" :({ "等", "登", "灯", "镫" }),
"di" :({ "迪", "荻", "笛", "弟", "敌", "帝", "狄", "堤", "谛", "柢", "砥" }),
"dian" :({ "点", "典", "颠", "殿", "甸", "滇" }),
"die" :({ "叠", "碟", "蝶", "迭" }),
"ding" :({ "玎", "叮", "顶", "定", "丁", "鼎", "锭", "町" }),
"dong" :({ "东", "栋", "峒" }),
"dou" :({ "都", "斗", "兜", "豆", "蚪" }),
"du" :({ "度", "毒", "独", "督", "渡", "镀", "妒", "笃", "犊" }),
"duan" :({ "断", "段", "短", "端", "锻", "缎", "煅" }),
"dui" :({ "队", "对", "憝" }),
"duo" :({ "多", "夺", "朵", "缍", "堕" }),
"dun" :({ "顿", "敦", "墩", "蹲", "盾", "遁", "囤" }),
"e"    :({ "额", "恶", "厄", "愕", "鄂", "颚" }),
"er" :({ "儿", "而", "二", "尔", "迩", "珥" }),
"fa" :({ "法", "珐", "乏", "阀", "发", "垡", "伐", "筏", "珐", }),
"fan" :({ "范", "泛", "凡", "帆", "樊", "梵", "幡" }),
"fang" :({ "舫", "房", "方" }),
"fen" :({ "奋", "忿", "愤", "汾", "分", "纷", "愤", "焚", }),
"feng" :({ "封", "丰", "风", "奉", "逢", "峰", "锋", "枫", "烽" }),
"fo" :({ "佛" }),
"fou" :({ "否" }),
"fu" :({ "福", "伏", "富", "抚", "辅", "傅", "赋", "覆", "甫", "釜", "缚", "孚", "茯", "夫" }),
"gai" :({ "改", "盖", "丐" }),
"gan" :({ "甘", "干", "杆", "赣", "乾", "泔" }),
"gang" :({ "刚", "钢", "岗", "纲", "冈", "罡" }),
"gao" :({ "高", "膏", "诰", "皋", "镐", "郜" }),
"ge" :({ "哥", "格", "革", "戈", "舸" }),
"gen" :({ "根", "跟", "艮" }),
"geng" :({ "更", "梗", "耿", "庚" }),
"gou" :({ "笱", "苟", "勾", "垢", "枸", "篝" }),
"gu" :({ "沽", "古", "顾", "股", "固", "谷", "孤", "蛊", "牯", "鸪", "鹄", "崮"}),
"gua" :({ "瓜", "卦" }),
"guai" :({ "怪", "拐", "乖" }),
"guan" :({ "倌", "官", "关", "观", "冠", "贯" }),
"gui" :({ "贵", "归", "桂", "鬼", "癸", "圭", "傀", "桧" }),
"guo" :({ "国", "果", "裹", "椁" }),
"gun" :({ "棍", "衮" }),
"hai" :({ "海", "孩", "亥" }),
"han" :({ "晗", "邯", "涵", "寒", "汉", "韩", "含", "汗", "旱", "函", "翰", "瀚" }),
"hang" :({ "珩", "杭", "行", "夯" }),
"hao" :({ "好", "毫", "豪", "郝", "镐", "浩", "皓", "昊" }),
"he" :({ "禾", "合", "贺", "褐", "鹤", "阖", "阂", "涸" }),
"hen" :({ "恨", "狠", "痕", }),
"heng" :({ "衡", "恒", "蘅", "珩", "桁" }),
"hong" :({ "宏", "洪", "鸿", "弘", "泓", "闳" }),
"hou" :({ "后", "候", "厚", "侯" }),
"hu" :({ "户", "护", "虎", "狐", "瑚", "浒", "琥", "鹄" }),
"hua" :({ "华", "化", "画", "桦", "骅" }),
"huan" :({ "还", "环", "欢", "涣", "奂", "幻", "焕", "桓", "浣", "洹" }),
"huang":({ "黄", "皇", "晃", "簧", "煌", "恍", "凰", "璜", "徨", "潢" }),
"huo" :({ "火", "祸", "惑", "豁" }),
"hun" :({ "混", "昏", "魂", "珲" }),
"ji" :({ "岌", "计", "济", "极", "集", "击", "绩", "吉", "辑", "祭", "冀", "基", "际", "寂", "暨", "戟" }),
"jia" :({ "迦", "珈", "佳", "葭", "家", "嘉", "贾", "稼", "枷" }),
"jian" :({ "建", "剑", "兼", "鉴", "涧", "健", "荐", "柬", "谏", "翦", "缄", "坚" }),
"jiang":({ "绛", "将", "江", "匠", "缰" }),
"jiao" :({ "湫", "骄", "交", "角", "焦", "矫", "狡", "窖", "侥", "佼", "蛟" }),
"jie" :({ "桔", "节", "解", "界", "杰", "介", "捷", "皆", "劫", "竭", "桀", "颉" }),
"jin" :({ "劲", "金", "进", "今", "仅", "尽", "禁", "锦", "津", "巾", "谨", "晋", "瑾", "靳", "缙" }),
"jing" :({ "靖", "京", "景", "经", "敬", "荆", "井", "警", "径", "劲" }),
"jiong":({ "炯", "窘" }),
"ju" :({ "局", "举", "具", "居", "巨", "聚", "矩", "菊", "桔", "柜", "飓", "驹", "炬", "钜" }),
"juan" :({ "鄄", "圈", "隽" }),
"jue" :({ "珏", "绝", "决", "觉", "爵", "厥" }),
"jun" :({ "军", "均", "郡", "钧", "君", "俊", "峻", "竣", "骏", "隽" }),
"kai" :({ "开", "凯", "楷", "恺", "铠", "锴", "剀" }),
"kan" :({ "刊", "堪", "坎" }),
"kang" :({ "康", "亢", "慷", "抗", "伉", }),
"kao" :({ "考" }),
"ke" :({ "珂", "柯", "可", "坷", "轲" }),
"kong" :({ "空", "孔", "崆" }),
"kou" :({ "寇", "蔻" }),
"ku" :({ "库", "枯", "窟", "绔" }),
"kuai" :({ "脍", "狯", "侩", "蒯" }), 
"kuang":({ "匡", "况", "狂", "诓", "旷", "夼" }),
"kuo" :({ "阔", "括", "扩" }),
"kun" :({ "困", "昆", "坤", "琨" }),
"la" :({ "腊", "喇" }),
"lai" :({ "莱", "籁", "濑", "崃" }),
"lan" :({ "兰", "蓝", "谰", "岚", "澜", "斓" }),
"lang" :({ "郎", "朗", "浪", "狼", "琅", "榔", "锒", "阆" }),
"le" :({ "乐", "勒" }),
"lei" :({ "雷", "累", "垒", "磊", "儡", }),
"leng" :({ "冷", "楞" }),
"li" :({ "礼", "利", "力", "厉", "立", "历", "隶", "黎", "励", "雳", "戾" }),
"lian" :({ "连", "廉", "帘", "练", "炼" }),
"liang":({ "梁", "良", "亮", "谅", "椋", "凉", "量" }),
"lie" :({ "列", "烈", "猎" }),
"lin" :({ "林", "临", "凛", "麟", "霖", "嶙", "邻" }),
"ling" :({ "令", "灵", "凌", "陵", "翎", "棱", "岭", "领" }),
"long" :({ "龙", "垄", "隆", "珑", "陇", "泷" }),
"lou" :({ "楼", "偻", "娄" }),
"lu" :({ "禄", "路", "录", "芦", "碌", "掳" }),
"luan" :({ "乱", "孪", "挛", "峦", "栾", "銮" }),
"luo" :({ "罗", "骆", "螺", "烙", "络", "洛", "珞" }),
"lun" :({ "伦", "仑", "纶", "囵" }),
"lv" :({ "绿", "律", "旅", "履" }),
"man" :({ "曼", "幔" }),
"mang" :({ "芒", "氓", "莽", "蟒", "邙" }),
"mao" :({ "毛", "冒", "矛", "茅", "茂", "卯", "牦", "瑁" }),
"meng" :({ "猛", "梦", "蒙", "萌", "朦", "蜢", "氓", "虻", "勐", }),
"mian" :({ "棉", "勉", "缅", "冕" }),
"min" :({ "民", "闽", "闵", "悯", "泯", "岷", "敏", "皿", }),
"ming" :({ "鸣", "明", "名", "铭", "冥", "螟", "命", "茗", "瞑", "溟" }),
"mo" :({ "模", "莫", "摩", "末", "魔", "磨", "漠", "陌", "茉" }),
"mou" :({ "牟", "侔" }),
"mu" :({ "睦", "慕", "目", "木", "幕", "牧", "沐" }),
"nan" :({ "南", "难", "枬" }),
"nao" :({ "恼", "瑙", "淖", "铙" }),
"ning" : ({"宁","狞","佞",}),
"nu" :({ "努", "怒", "驽" }),
"ou" :({ "欧", "鸥" }),
"peng" :({ "朋", "鹏", "澎" }),
"piao" :({ "飘", "缥" }),
"pin" :({ "品", "贫" }),
"ping" :({ "平", "屏", "凭", "塀", "评" }),
"po" :({ "破", "迫", "坡", "泊", "魄", "珀", "陂" }),
"pu" :({ "普", "浦", "朴", "蒲", "圃", "谱", "溥", "璞", "濮" }),
"qi" :({ "其", "器", "七", "奇", "齐", "旗", "岂", "戚", "契" }),
"qian" :({ "千", "潜", "签", "浅", "乾", "谦", "黔", "歉", "谴", "前" }),
"qiang":({ "强", "羌", "锵", "戕" }),
"qiao" :({ "巧", "翘", "谯", "窍", "峭", "樵", "愀" }),
"qin" :({ "勤", "琴", "秦", "钦", "芹" }),
"qing" :({ "青", "卿", "庆", "晴", "擎","清" }),
"qiu" :({ "求", "秋", "丘", "囚", "酋", "虬", "泅", "湫", "逑", "俅" }),
"qu" :({ "曲", "区", "去", "屈", "岖", "戌" }),
"quan" :({ "全", "权", "拳", "劝", "泉", "荃", "铨" }),
"que" :({ "阙", "阕" }),
"qun" :({ "群", "麇" }),
"ran" :({ "然", "冉", "髯", "髥", "燃", "染" }),
"rang" :({ "让" }),
"rao" :({ "绕", "扰" }),
"ren" :({ "任", "忍", "纫", "仁", "刃", "韧", "壬" }),
"rong" :({ "容", "荣", "融", "戎", "榕" }),
"ru" :({ "如", "儒" }),
"run" :({ "润", "闰" }),
"sang" :({ "桑", "丧" }),
"sen" :({ "森" }),
"sha" :({ "霎", "沙", "煞", "杉", "挲" }),
"shan" :({ "杉", "山", "善", "扇", "衫", "单", "汕", "缮", "赡" }),
"shang":({ "商", "上", "尚" }),
"shao" :({ "少", "绍", "梢", "劭", "韶", "杓" }),
"she" :({ "社", "设", "射", "舍", "赦", "奢", "麝", "猞" }),
"shen" :({ "深", "神", "甚", "审", "申", "绅", "慎" }),
"sheng":({ "生", "圣", "胜", "升", "盛", "甥" }),
"shi" :({ "市", "石", "时", "实", "施", "适", "世", "师", "示", "始", "势", "史", "识", "诗", "释", "誓", "狮", "弑", "峙", "螫" }),
"shou" :({ "寿", "守", "狩" }),
"shu" :({ "舒", "书", "树", "叔", "术", "殊", "疏", "恕", "庶" }),
"shun" :({ "顺", "舜" }),
"si" :({ "泗", "斯", "思", "四", "司" }),
"song" :({ "松", "颂", "讼", "嵩", "诵", "崧" }),
"su" :({ "肃", "素", "俗", "塑" }),
"sun" :({ "孙", "隼", "狲" }),
"tai" :({ "台", "泰" }),
"tan" :({ "探", "檀", "忐", "昙" }),
"tang" :({ "堂", "唐", "汤", "棠" }),
"tao" :({ "桃", "涛", "滔", "洮" }),
"teng" :({ "腾", "滕" }),
"tong" :({ "同", "通", "统", "佟", "童", "桐", "峒", "彤", "瞳", "潼" }),
"tu" :({ "图", "土", "徒" }),
"tun" :({ "屯", "豚" }),
"wai" :({ "外", "崴" }),
"wan" :({ "万", "顽", "宛", "丸", "皖", "莞" }),
"wang" :({ "亡", "旺", "芒", "妄", "惘" }),
"wu" :({ "武", "乌", "伍", "勿", "恶", "午", "吾", "雾", "梧", "忤", "戊", "鹜", "骛" }),
"xi" :({ "喜", "洗", "希", "席", "习", "悉", "夕", "溪", "析", "栖", "犀", "羲", "皙" }),
"xia" :({ "夏", "侠", "峡", "匣", "厦" }),
"xian" :({ "先", "贤", "宪", "咸", "涎", "闲" }),
"xiang":({ "向", "相", "襄", "翔" }),
"xiao" :({ "孝", "潇", "晓", "啸", "霄", "逍", "嚣", "骁", "枭", "哮", "魈", "效", "小" }),
"xie" :({ "邪", "携", "谐", "邂" }),
"xin" :({ "鑫", "馨", "昕", "信", "辛", "歆" }),
"xing" :({ "兴", "星", "杏", "行" }),
"xiong":({ "雄", "凶" }),
"xu" :({ "需", "须", "虚", "叙", "序", "诩", "绪", "絮", "旭", "栩", "胥", "煦", "戌" }),
"xuan" :({ "璇", "轩", "旋", "宣", "玄", "炫", "煊" }),
"xue" :({ "雪", "血" }),
"xun" :({ "讯", "勋", "训", "寻", "迅", "询", "逊", "循", "巡", "旬", "荀" }),
"yan" :({ "严", "言", "延", "炎", "岩", "阎", "堰", "厌", "焰", "衍", "砚", "偃" }),
"yang" :({ "阳", "洋", "央", "扬", "炀" }),
"yao" :({ "遥", "耀", "夭", "妖", "曜" }),
"ye" :({ "叶", "野", "烨", "邺" }),
"yi" :({ "义", "易", "宜", "颐", "意", "异", "遗", "亦", "翼", "倚", "逸", "伊", "夷", "毅", "奕", "弈", "翌" }),
"yin" :({ "殷", "音", "印", "胤" }),
"ying" :({ "英", "应", "赢", "鹰", "荧" }),
"yong" :({ "勇", "庸", "永", "咏", "雍", "甬", "恿", "拥" }),
"you" :({ "有", "优", "友", "游", "忧", "幽", "佑", "悠", "攸" }),
"yu" :({ "豫", "玉", "宇", "育", "予", "语", "鱼", "裕", "愚", "羽", "御", "瑜", "迂" }),
"yun" :({ "运", "云", "允", "韵", "匀", "昀" }),
"zai" :({ "灾", "哉", "宰" }),
"zang" :({ "藏", "奘" }),
"zhai" :({ "翟", "斋" }),
"zhan" :({ "绽", "战", "瞻", "斩", "辗" }),
"zhen" :({ "真", "镇", "震", "振", "臻", "侦" }),
"zheng":({ "政", "正", "拯", "铮", "徵", "征" }),
"zhi" :({ "智", "知", "执", "至", "志", "止", "致", "挚", "炙", "之" }),
"zhong":({ "忠", "重", "终", "仲", "中" }),
"zhu" :({ "诸", "铸", "逐", "竹", "烛", "炷", "渚", "褚" }),
"zhuan":({ "篆", "转" }),
"zhuang":({ "壮", "庄", "状", "桩", }),
"zhuo" :({ "灼", "浊", "卓", "拙", "酌", "琢", "濯", "茁" }),
"zhun" :({ "准", "谆" }),
"zi" :({ "紫", "子", "兹", "孜", "梓" }),
"zong" :({ "宗" }),
"zu" :({ "族", "祖", "卒" }),
]);

protected nomask string *selete_namestring(string key, int sex)
{ 
	if( sex )
        	return f_name[key]; 
	return m_name[key];
} 

/*
传回一个mapping：
        ([ name : "xxx", id : ({ "xxx", "xxx" }) ])
        name 为中文姓名，id 为拼音。
        如：
                ([ name : "高圆圆", id : ({ "gao yuanyuan", "gao", "yuanyuan" }) ])
        
可以指定的包括：
 gender = 性别, 1 = female, 0 = male.
 long_name = 名子的数目。long_name = -1， 只有一个名字，long_name = 0，随即1-2个名字，long_name > 0，两个名字。
 name_a = 姓
 name_b = 名
 name_c = 中间名, 如 一二三 的 二。

例子：
        random_name2(0, 0, 0, 0, 0) -> 随机男性姓名，名为随机一个或两个字。
        random_name2(1, 0, 0, 0, 0) -> 随机女性姓名，名为随机一个或两个字。
        random_name2(0, 1, 0, 0, 0) -> 随机男性姓名，名两个字。
        random_name2(0, -1, 0, 0, 0) -> 随机男性姓名，名一个字。
        random_name2(1, 1, 0, 0, 0) -> 随机女性姓名，名两个字。
        random_name2(0, -1, 0, 0, 0) -> 随机女性姓名，名一个字。
        
        random_name2(0, 0, "李", 0, 0) -> 男姓，姓为李，名为随机一个或两个字。
        random_name2(0, 0, 0, "强", 0) -> 男姓，姓随机，名为随机一个或两个字，但最后一个字为强。
        random_name2(0, 1, "李", "强", 0) -> 男姓，姓李，名为两个字，最后一个字为强，中间随机。
        random_name2(0, 1, "李", 0, "强") -> 男姓，姓李，名为两个字，中间一个字为强，最后随机。
        
        random_name2(0, 0, 0, 0, "强") -> 男姓，姓随机，名随机，但如果是两个字，中间一个字为强。
*/

varargs mapping random_name2(int gender, int long_name, string name_a, string name_b, string name_c)
{       
	string *key_sur,*key_fname,*key_mname = ({ });
	string str, str2, key, *names, vor, nach;
	int sur_size,f_size,m_size,i;
	
	key_sur = keys(surname);
	key_fname = keys(f_name);
	key_mname = keys(m_name);
	sur_size = sizeof(surname);
	f_size = sizeof(f_name);
	m_size = sizeof(m_name);
	
	if( name_a )
        {
        	if( member_array(name_a, key_sur) != -1 )
                {
                	str = name_a;
                	vor = surname[str];
                }
        }
	else    
	{
        	i = random(sur_size);
        	str = key_sur[i];
        	vor = surname[str];
        }
        if( !str || !vor )
        {
        	CHANNEL_D->do_channel(this_object(),"sys","随机名称生成出错："+long_name+" "+name_a+" "+name_b+" "+name_c);
        	return ([
        		"name" : "测试",
			"id"   : ({"test"}),
		]);	
	}	
        if( name_b )
        {
        	if( gender )
                {
                	i = f_size;
                	while( i-- )
                        {
                        	if( member_array(name_b, f_name[key_fname[i]]) != -1 )
                                {
                                	str2 = name_b;
                                	nach = key_fname[i];
                                	break;
                                }
                        }
                }
        	else    
        	{
                	i = m_size;
                	while( i-- )
                        {
                        	if( member_array(name_b, m_name[key_mname[i]]) != -1 )
                                {
                                	str2 = name_b;
                                	nach = key_mname[i];
                                	break;
                                }
                        }
                }
        }
	else    
	{  
        	if( gender )
                {
                	i = random(f_size);
                	key = key_fname[i];
                }
        	else    
        	{
                	i = random(m_size);
                	key = key_mname[i];
                }
        	names = selete_namestring(key, gender);
        	str2 = names[random(sizeof(names))];
        	nach = key;
        }
        if( !str2 || !nach )
        	return ([
        		"name" : "测试",
			"id"   : ({"test"}),
		]);	

	if( ((!random(3) && !long_name) || long_name > 0) && long_name >= 0 )
        {
        	if( name_c )
                {
                	if( gender )
                        {
                        	i = f_size;
                        	while( i-- )
                                {
                                	if( member_array(name_c, f_name[key_fname[i]]) != -1 )
                                        {
                                        	str2 = name_c + str2;
                                        	nach = key_fname[i] + nach;
                                        	break;
                                        }
                                }
                        }
                	else    
                	{
                        	i = m_size;
                        	while( i-- )
                                {
                                	if( member_array(name_c, m_name[key_mname[i]]) != -1 )
                                        {
                                        	str2 = name_c + str2;
                                        	nach = key_mname[i] + nach;
                                        	break;
                                        }
                                }
                        }
                }
        	else    
        	{
                	if( gender )
                        {
                        	i = random(f_size);
	                        key = key_fname[i];
        		}
                	else    
                	{
                        	i = random(m_size);
                        	key = key_mname[i];
                        }
                	names = selete_namestring(key, gender);
                	str2 = names[random(sizeof(names))] + str2;
                	nach = key + nach;
                }
        }
	return ([ "name": str + str2,  "id": ({ vor + " " + nach, vor, nach }) ]); 
}

varargs mapping random_name(string type)
{
	mapping name;
	int a,b,c;
	string *surnames, *middle_names, *last_names;
	string temp_name, *temp_id, long;
	
	name=allocate_mapping(3);
	if( !type )
		type = "yaoguai";
	switch(type)
	{
		case "man" :
		case "boy" :
			name = random_name2(0, 0, 0, 0, 0);
			break;
		case "girl" :
		case "woman":
			name = random_name2(1, 0, 0, 0, 0);
			break;
		case "male" :
			surnames=keys(surname);
			middle_names=keys(middle_name);
			last_names=keys(male_name);
			a=random(sizeof(surnames));
			b=random(sizeof(middle_names));
			c=random(sizeof(last_names));
			if(random(100)>20)
			{
				temp_name=surnames[a]+ middle_names[b]+ last_names[c];
				temp_id=({surname[surnames[a]]+" "+middle_name[middle_names[b]]+male_name[last_names[c]],surname[surnames[a]]});
			}
			else 
			{
				temp_name=surnames[a]+ last_names[c];
				temp_id=({surname[surnames[a]]+" "+male_name[last_names[c]],surname[surnames[a]]});
			}
			if(random(2)==0)
				long="终南山修士";
			if(random(2)==1)
				long="南海散修";
        		if(random(2)==2)
				long="西域散修";
			name=([
				"name" : temp_name,
				"id"   : temp_id,
            			"title"   : long,
			]);
			break;
		case "female" :
			surnames=keys(surname);
			middle_names=keys(middle_name);
			last_names=keys(female_name);
			a=random(sizeof(surnames));
			b=random(sizeof(middle_names));
			c=random(sizeof(last_names));
			if(random(100)>20)
			{
				temp_name=surnames[a]+ middle_names[b]+ last_names[c];
				temp_id=({surname[surnames[a]]+" "+middle_name[middle_names[b]]+female_name[last_names[c]],surname[surnames[a]]});
			}
			else 
			{
				temp_name=surnames[a]+ last_names[c];
				temp_id=({surname[surnames[a]]+" "+female_name[last_names[c]],surname[surnames[a]]});
			}
			if(random(2)==0)
				long="终南山女修";
			if(random(2)==1)
				long="南海女修";
        		if(random(2)==2)
				long="西域女修";
			name=([
				"name" : temp_name,
				"id"   : temp_id,
				"title"   : long,
			]);
			break;
		case "japan" :
			surnames=keys(jp_surname);
			last_names=keys(jp_name);
			a=random(sizeof(surnames));
			b=random(sizeof(last_names));
			name=([
				"name" : surnames[a]+ last_names[b],
				"id"   : ({jp_surname[surnames[a]]+" "+jp_name[last_names[b]],jp_surname[surnames[a]]}),
				"title": "东海土番",
			]);
			break;
                case "yaoguai":
			if(random(2))
			{
				surnames=keys(animal_list);
				middle_names=keys(middle_list);
				a=random(sizeof(surnames));
				b=random(sizeof(middle_names));
				c=random(sizeof(surnames));
				name=([
					"name" 	: surnames[a]+middle_names[b]+surnames[c],
					"id"	: ({animal_list[surnames[a]]+middle_list[middle_names[b]]+" "+animal_list[surnames[c]],animal_list[surnames[c]]}),
                                	"title"	:title_list[random(sizeof(title_list))],
				]);
			}
			else
			{
				if(random(2))
				{
					surnames=keys(color_list);
					middle_names=keys(animal_list);
					a=random(sizeof(surnames));
					b=random(sizeof(middle_names));
					c=random(2);
					temp_name=surnames[a]+middle_names[b];
					temp_name+=c?"精":"怪";
					if(c)
						temp_id=({color_list[surnames[a]]+animal_list[middle_names[b]]+" "+"jing", "jing"});
					else	temp_id=({color_list[surnames[a]]+animal_list[middle_names[b]]+" "+"guai",	"guai"});
				}
				else
				{
					surnames=keys(animal_names);
					a=random(sizeof(surnames));
					b=random(2);
					temp_name=surnames[a];
					temp_name+=b?"精":"怪";
					if(b)
						temp_id=({animal_names[surnames[a]]+" "+"jing", "jing"});
					else	temp_id=({animal_names[surnames[a]]+" "+"guai", "guai"});
				}
				name=([
					"name" : temp_name,
					"id"   : temp_id,
					"title": "NONE",
				]);
			}
			break;
		case "gui" :
			surnames = keys(gui_list);
			a = random(sizeof(surnames));
			temp_name = surnames[a];
			temp_id = ({gui_list[temp_name][0]+" gui","gui","ghost"});
			long = gui_list[temp_name][1];
			name=([
				"name" : temp_name+"鬼",
				"id"   : temp_id,
				"title": "NONE",
				"long" : long+"\n",
			]);
			break;							
		default:
		name=([
			"name" : "测试",
			"id"   : ({"test"}),
		]);
		break;
	}
	return name;
}

mixed valid_id(string id)
{
	int i;
	string *ban_id = ({
//                "amy","fuck","shit","mabi","cao","snowtu",
                "fuck","shit","mabi","cao","snowtu",
	});
	if( !id )
		return 0;
	for(i=0;i<sizeof(ban_id);i++)
	{
		if( strsrch(id,ban_id[i])!=-1 )
			return ban_id[i];
	}
	return 0;
}		
